Method and apparatus for improving the efficiency of support vector machines

ABSTRACT

A method and apparatus is described for improving the efficiency of any machine that uses an algorithm that maps to a higher dimensional space in which a given set of vectors is used in a test phase. In particular, reduced set vectors are used. These reduced set vectors are different from the vectors in the set and are determined pursuant to an optimization approach other than the eigenvalue computation used for homogeneous quadratic kernels. An illustrative embodiment is described in the context of a support vector machine (SVM).

FIELD OF THE INVENTION

This invention relates generally to universal learning machines, and, in particular, to support vector machines.

BACKGROUND OF THE INVENTION

A Support Vector Machine (SVM) is a universal learning machine whose decision surface is parameterized by a set of support vectors, and by a set of corresponding weights. An SVM is also characterized by a kernel function. Choice of the kernel determines whether the resulting SVM is a polynomial classifier, a two-layer neural network, a radial basis function machine, or some other learning machine. A decision rule for an SVM is a function of the corresponding kernel function and support vectors.

An SVM generally operates in two phases: a training phase and a testing phase. During the training phase, the set of support vectors is generated for use in the decision rule. During the testing phase, decisions are made using the particular decision rule. Unfortunately, in this latter phase, the complexity of computation for an SVM decision rule scales with the number of support vectors, N_(S), in the support vector set.

SUMMARY OF THE INVENTION

We have realized a method and apparatus for improving the efficiency of any machine that uses an algorithm that maps to a higher dimensional space in which a given set of vectors is used in a test phase. In particular, and in accordance with the principles of the invention, reduced set vectors are used. The number of reduced set vectors is smaller than the number of vectors in the set. These reduced set vectors are different from the vectors in the set and are determined pursuant to an optimization approach other than the eigenvalue computation used for homogeneous quadratic kernels.

In an embodiment of the invention, an SVM, for use in pattern recognition, utilizes reduced set vectors, which improves the efficiency of this SVM by a user-chosen factor. These reduced set vectors are determined pursuant to an unconstrained optimization approach.

In accordance with a feature of the invention, the selection of the reduced set vectors allows direct control of performance/complexity trade-offs.

In addition, the inventive concept is not specific to pattern recognition and is applicable to any problem where the Support Vector algorithm is used (e.g., regression estimation).

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a flow chart depicting the operation of a prior art SVM;

FIG. 2 is an general representation of the separation of training data into two classes with representative support vectors;

FIG. 3 shows an illustrative method for training an SVM system in accordance with the principles of the invention;

FIG. 4 shown an illustrative method for operating an SVM system in accordance with the principles of the invention; and

FIG. 5 shows a block diagram of a portion of a recognition system embodying the principles of the invention.

DETAILED DESCRIPTION

Before describing an illustrative embodiment of the invention, a brief background is provided on support vector machines, followed by a description of the inventive concept itself. Other than the inventive concept, it is assumed that the reader is familiar with mathematical notation used to generally represent kernel-based methods as known in the art. Also, the inventive concept is illustratively described in the context of pattern recognition. However, the inventive concept is applicable to any problem where the Support Vector algorithm is used (e.g., regression estimation).

In the description below, it should be noted that test data was used from two optical character recognition (OCR) data sets containing grey level images of the ten digits: a set of 7,291 training and 2,007 test patterns, which is referred to herein as the "postal set" (e.g., see L. Bottou, C. Cortes, H. Drucker, L. D. Jackel, Y. LeCun, U. A. Muller, E. Sackinger, P. Simard, and V. Vapnik, Comparison of Classifier Methods: A Case Study in Handwritten Digit Recognition, Proceedings of the 12th IAPR International Conference on Pattern Recognition, Vol. 2, IEEE Computer Society Press, Los Alamos, Calif., pp. 77-83, 1994; and Y. LeCun, B. Boser, J. S. Denker, D. Henderson, R. E. Howard, W. Hubbard, L. D. Jackel, Backpropagation Applied to Handwritten ZIP Code Recognition, Neural Computation, 1, 1989, pp. 541-551), and a set of 60,000 training and 10,000 test patterns from NIST Special Database 3 and NIST Test Data 1, which is referred to herein as the "NIST set" (e.g., see, R. A. Wilkinson, J. Geist, S. Janet, P. J. Grother, C. J. C. Burges, R. Creecy, R. Hammond, J. J. Hull, N. J. Larsen, T. P. Vogl and C. L. Wilson, The First Census Optical Character Recognition System Conference, U.S. Department of Commerce, NIST, August 1992). Postal images were 16×16 pixels and NIST images were 28×28 pixels.

BACKGROUND--SUPPORT VECTOR MACHINES

In the following, bold face is used for vector and matrix quantities, and light face for their components.

Consider a two-class classifier for which the decision rule takes the form: ##EQU1## where x, s_(i) .di-elect cons.R^(d), α_(i), b.di-elect cons.R, and Θ is the step function; R^(d) is the d-dimensional Euclidean space and R is the real line, α_(i), s_(i), N_(s) and b are parameters and x is the vector to be classified. The decision rule for a large family of classifiers can be cast in this functional form: for example, K=(x·s_(i))^(P) implements a polynomial classifier; K=exp (-∥x-s_(i) ∥² /σ²) implements a radial basis function machine; and K=tanh(γ(x·s_(i))+δ) implements a two-layer neural network (e.g., see V. Vapnik, Estimation of Dependencies Based on Empirical Data, Springer Verlag, 1982; V. Vapnik, The Nature of Statistical Learning Theory, Springer Verlag, 1995; Boser, B. E., Guyon, I. M., and Vapnik, V., A training algorithm for optimal margin classifiers, Fifth Annual Workshop on Computational Learning Theory, Pittsburgh ACM 144-152, 1992; and B. Scholkopf, C. J. C. Burges, and V. Vapnik, Extracting Support Data for a Given Task, Proceedings of the First International Conference on Knowledge Discovery and Data Mining, AAAI Press, Menlo Park, Calif., 1995).

The support vector algorithm is a principled method for training any learning machine whose decision rule takes the form of Equation (1): the only condition required is that the kernel K satisfy a general positivity constraint (e.g., see The Nature of Statistical Learning Theory, and A training algorithm for optimal margin classifiers, cited above). In contrast to other techniques, the SVM training process determines the entire parameter set {α_(i), s_(i), N_(s) and b}; the resulting s_(i), i=1, . . . , N_(s) are a subset of the training set and are called support vectors.

Support Vector Machines have a number of striking properties. The training procedure amounts to solving a constrained quadratic optimization problem, and the solution found is thus guaranteed to be the unique global minimum of the objective function. SVMs can be used to directly implement Structural Risk Minimization, in which the capacity of the learning machine can be controlled so as to minimize a bound on the generalization error (e.g., see The Nature of Statistical Learning Theory, and Extracting Support Data for a Given Task, cited above). A support vector decision surface is actually a linear separating hyperplane in a high dimensional space; similarly, SVMs can be used to construct a regression, which is linear in some high dimensional space (e.g., see The Nature of Statistical Learning Theory, cited above).

Support Vector Learning Machines have been successfully applied to pattern recognition problems such as optical character recognition (OCR) (e.g., see The Nature of Statistical Learning Theory, and Extracting Support Data for a Given Task, cited above, and C. Cortes and V. Vapnik, Support Vector Networks, Machine Learning, Vol 20, pp 1-25, 1995), and object recognition.

FIG. 1 is a flow chart depicting the operation of a prior art SVM. This operation comprises two phases: a training phase and a testing phase. In the training phase, the SVM receives elements of a training set with pre-assigned classes in step 52. In step 54, the input data vectors from the training set are transformed into a multi-dimensional space. In step 56, parameters (i.e., support vectors and associated weights) are determined for an optimal multi-dimensional hyperplane.

FIG. 2 shows an example where the training data elements are separated into two classes, one class represented by circles and the other class represented by boxes. This is typical of a 2-class pattern recognition problem: for example, an SVM which is trained to separate patterns of "cars" from those patterns that are "not cars." An optimal hyperplane is the linear decision function with maximal margin between the vectors of two classes. That is, the optimal hyperplane is the unique decision surface which separates the training data with a maximal margin. As illustrated in FIG. 2, the optimal hyperplane is defined by the area where the separation between the two classes is maximum. As observed in FIG. 2, to construct an optimal hyperplane, one only has to take into account a small subset of the trained data elements which determine this maximal margin. This subset of training elements that determines the parameters of an optimal hyperplane are known as support vectors. In FIG. 2, the support vectors are indicating by shading.

The optimal hyperplane parameters are represented as linear combinations of the mapped support vectors in the high dimensional space. The SVM algorithm ensures that errors on a set of vectors are minimized by assigning weights to all of the support vectors. These weights are used in computing the decision surface in terms of the support vectors. The algorithm also allows for these weights to adapt in order to minimize the error rate on the training data belonging to a particular problem. These weights are calculated during the training phase of the SVM.

Constructing an optimal hyperplane therefore becomes a constrained quadratic optimization programming problem determined by the elements of the training set and functions determining the dot products in the mapped space. The solution to the optimization problem is found using conventional intermediate optimization techniques.

Typically, the optimal hyperplane involves separating the training data without any errors. However, in some cases, training data cannot be separated without errors. In these cases, the SVM attempts to separate the training data with a minimal number of errors and separates the rest of the elements with maximal margin. These hyperplanes are generally known as soft margin hyperplanes.

In the testing phase, the SVM receives elements of a testing set to be classified in step 62. The SVM then transforms the input data vectors of the testing set by mapping them into a multi-dimensional space using support vectors as parameters in the Kernel (step 64). The mapping function is determined by the choice of a kernel which is preloaded in the SVM. The mapping involves taking a single vector and transforming it to a high-dimensional feature space so that a linear decision function can be created in this high dimensional feature space. Although the flow chart of FIG. 1 shows implicit mapping, this mapping may be performed explicitly as well. In step 66, the SVM generates a classification signal from the decision surface to indicate the membership status of each input data vector. The final result is the creation of an output classification signal, e.g., as illustrated in FIG. 2, a (+1) for a circle and an (-1) for a box.

Unfortunately, the complexity of the computation for Equation (1) scales with the number of support vectors N_(S). The expectation of the number of support vectors is bounded below by (l-1)E(P), where P is the probability of error on a test vector using a given SVM trained on l training samples, and E[P] is the expectation of P over all choices of the l samples (e.g., see The Nature of Statistical Learning Theory, cited above). Thus N_(S) can be expected to approximately scale with l. For practical pattern recognition problems, this results in a machine which is considerably slower in test phase than other systems with similar generalization performance (e.g., see Comparison of Classifier Methods: A Case Study in Handwritten Digit Recognition, cited above; and Y. LeCun, L. Jackel, L. Bottou, A. Brunot, C. Cortes, J. Denker, H. Drucker, I. Guyon, U. Muller, E. Sackinger, P. Simard, and V. Vapnik, Comparison of Learning Algorithms for Handwritten Digit Recognition, International Conference on Artificial Neural Networks, Ed. F. Fogelman, P. Gallinari, pp. 53-60, 1995).

Reduced Set Vectors

Therefore, and in accordance with the principles of the invention, we present a method and apparatus to approximate the SVM decision rule with a much smaller number of reduced set vectors. The reduced set vectors have the following properties:

They appear in the approximate SVM decision rule in the same way that the support vectors appear in the full SVM decision rule;

They are not support vectors; they do not necessarily lie on the separating margin, and unlike support vectors, they are not training samples;

They are computed for a given, trained SVM;

The number of reduced set vectors (and hence the speed of the resulting SVM in test phase) is chosen a priori;

The reduced set method is applicable wherever the support vector method is used (for example, regression estimation).

The Reduced Set

Let the training data be elements x.di-elect cons.L, , where L (for "low dimensional") is defined to be the d_(L) -dimensional Euclidean space R^(d).sbsp.L. An SVM performs an implicit mapping Φ:x→x, x.di-elect cons.H (for "high dimensional"), similarly H=R^(d).sbsp.H, d_(H) ≧∞. In the following, vectors in H will be denoted with a bar. The mapping Φ is determined by the choice of kernel K. In fact, for any K which satisfies Mercer's positivity constraint (e.g., see, The Nature of Statistical Learning Theory, and A training algorithm for optimal margin classifiers, cited above), there exists a pair {Φ, H} for which K(x_(i), x_(j))=x_(i) ·x_(j). Thus in H, the SVM decision rule is simply a linear separating hyperplane (as noted above). The mapping Φ is usually not explicitly computed, and the dimension d_(H) of H is usually large (for example, for the homogeneous map K(x_(i), x_(j))=(x_(i) ·x_(j))^(P), ##EQU2## (the number of ways of choosing p objects from p+d_(L) -1 objects; thus for degree 4 polynomials and for d_(L) =256, d_(H) is approximately 180 million).

The basic SVM pattern recognition algorithm solves a two-class problem (e.g., see Estimation of Dependencies Based on Empirical Data, The Nature of Statistical Learning Theory, A training algorithm for optimal margin classifiers, cited above). Given training data x.di-elect cons.L and corresponding class labels y_(i) .di-elect cons.{-1,1}, the SVM algorithm constructs a decision surface Ψ.di-elect cons.H which separates the x_(i) into two classes (i=1, . . . , l):

    Ψ·x.sub.i +b≧k.sub.o -ξ.sub.i, y.sub.i =+1(2)

    Ψ·x.sub.i +b≦k.sub.l +ξ.sub.i, y.sub.i =-1(3)

where the ξ_(i) are positive slack variables, introduced to handle the non-separable case (e.g., see Support Vector Networks, cited above). In the separable case, the SVM algorithm constructs that separating hyperplane for which the margin between the positive and negative examples in H is maximized. A test vector x.di-elect cons.L is then assigned a class label {+1,-1} depending on whether Ψ·Φ(x)+b is greater or less than (k₀ +k₁)/2. A support vector s.di-elect cons.L is defined as any training sample for which one of the equations (2) or (3) is an equality. (The support vectors are named s to distinguish them from the rest of the training data). Ψ is then given by ##EQU3## where α_(a) ≧0 are the weights, determined during training, y_(a) .di-elect cons.{+1,-1} the class labels of the s_(a), and N_(S) is the number of support vectors. Thus in order to classify a test point x one computes ##EQU4##

However, and in accordance with the inventive concept, consider now a set z_(a) .di-elect cons.L, a=1, . . . , N_(z) and corresponding weights γ_(a) .di-elect cons.R for which ##EQU5## minimizes (for fixed N_(z)) the distance measure

    ρ=∥Ψ-Ψ'∥.                    (7)

As defined herein, the {γ_(a), z_(a) }, a=1, . . . , N_(z) are called the reduced set. To classify a test point x, the expansion in Equation (5) is replaced by the approximation ##EQU6##

The goal is then to choose the smallest N_(Z) <<N_(S), and corresponding reduced set, such that any resulting loss in generalization performance remains acceptable. Clearly, by allowing N_(Z) =N_(S), ρ can be made zero; there are non-trivial cases where N_(Z) <N_(S), and ρ=0 (described below). In those cases the reduced set leads to a reduction in the decision rule complexity with no loss in generalization performance. If for each N_(Z) one computes the corresponding reduced set, ρ may be viewed as a monotonic decreasing function of N_(Z), and the generalization performance also becomes a function of N_(Z). In this description, only empirical results are provided regarding the dependence of the generalization performance on N_(Z).

The following should be noted about the mapping Φ. The image of Φ will not in general be a linear space. Φ will also in general not be surjective, and may not be one-to-one (for example, when K is a homogeneous polynomial of even degree). Further, Φ can map linearly dependent vectors in L onto linearly independent vectors in H (for example, when K is an inhomogeneous polynomial). In general one cannot scale the coefficients γ_(a) to unity by scaling z_(a), even when K is a homogeneous polynomial (for example, if K is homogeneous of even degree, the γ_(a) can be scaled to {+1,-1}, but not to unity).

Exact Solutions

In this Section, the problem of computing the minimum of ρ analytically is considered. A simple, but non-trivial, case is first described.

Homogeneous Quadratic Polynomials

For homogeneous degree two polynomials, choosing a normalization of one:

    K(x.sub.i, x.sub.j)=(x.sub.i ·x.sub.j).sup.2.     (9)

To simplify the exposition, the first order approximation, N_(Z) =1 is computed. Introducing the symmetric tensor ##EQU7## it can be found that ρ∥Ψ-γz∥ is minimized for {γ,z} satisfying

    S.sub.μν z.sub.ν =γz.sup.2 z.sub.μ,      (11)

(repeated indices are assumed summed). With this choice of {γ, z}, ρ² becomes

    ρ.sup.2 =S.sub.μν S.sup.μν -γ.sup.2 z.sup.4.(12)

The largest drop in ρ is thus achieved when {γ, z} is chosen such that z is that eigenvector of S whose eigenvalue λ=γz² has largest absolute size. Note that γ can be chosen so that γ=sing{λ}, and z scaled so that z² =|λ|:

Extending to order N_(z), it can similarly be shown that the z_(i) in the set {γ_(i),z_(i) } that minimize ##EQU8## are eigenvectors of S, each with eigenvalue γ_(i) ∥z_(i) ∥². This gives ##EQU9## and the drop in ρ is maximized if the z_(a) are chosen to be the first N_(Z) eigenvectors of S, where the eigenvectors are ordered by absolute size of their eigenvalues. Note that, since trace(S²) is the sum of the squared eigenvalues of S, by choosing N_(Z) =d_(L) (the dimension of the data) the approximation becomes exact, i.e., ρ=0. Since the number of support vectors N_(S) is often larger than d_(L), this shows that the size of the reduced set can be smaller than the number of support vectors, with no loss in generalization performance.

In the general case, in order to compute the reduced set, ρ must be minimized over all {γ_(a), z_(a) }, a=1, . . . , N_(Z) simultaneously. It is convenient to consider an incremental approach in which on the ith step, {γ_(j), z_(j) }, j<i are held fixed while {γ_(i), z_(i) } is computed. In the case of quadratic polynomials, the series of minima generated by the incremental approach also generates a minimum for the full problem. This result is particular to second degree polynomials and is a consequence of the fact that the z_(i) are orthogonal (or can be so chosen).

Table 1, below, shows the reduced set size N_(Z) necessary to attain a number of errors E_(Z) on the test set, where E_(Z) differs from the number of errors E_(S) found using the full set of support vectors by at most one error, for a quadratic polynomial SVM trained on the postal set. Clearly, in the quadratic case, the reduced set can offer a significant reduction in complexity with little loss in accuracy. Note also that many digits have numbers of support vectors larger than d_(L) =256, presenting in this case the opportunity for a speed up with no loss in accuracy.

                  TABLE 1                                                          ______________________________________                                                 Support Vectors   Reduced Set                                          Digit     N.sub.S                                                                               E.sub.S      N.sub.Z                                                                             E.sub.Z                                     ______________________________________                                         0         292    15           10   16                                          1          95     9            6    9                                          2         415    28           22   29                                          3         403    26           14   27                                          4         375    35           14   34                                          5         421    26           18   27                                          6         261    13           12   14                                          7         228    18           10   19                                          8         446    33           24   33                                          9         330    20           20   21                                          ______________________________________                                    

General Kernels

To apply the reduced set method to an arbitrary support vector machine, the above analysis must be extended for a general kernel. For example, for the homogeneous polynomial K(x₁, x₂)=N(x₁ ·x₂)^(n), setting ∂ρ/∂z_(1a).sbsb.1 =0 to find the first pair {γ₁, z₁ } in the incremental approach gives an equation analogous to Equation (11):

    S.sub.μ1μ2-μn z.sub.1μ2 z.sub.1μ3 . . . z.sub.1μn =γ.sub.1 ∥z.sub.1 ∥.sup.(2n-2) z.sub.1μ1(15)

where ##EQU10##

In this case, varying ρ with respect to γ gives no new conditions. Having solved Equation (15) for the first order solution {γ₁, z₁ }, ρ² becomes

    ρ.sup.2 =S.sub.μ1μ2 . . . .sub.μn .tbd.S.sup.μ1μ2 . . . .sup.μn -γ.sup.2.sub.1 ∥z.sub.1 ∥.sup.2n.(17)

One can then define

    S.sub.μ1μ2 . . . .sub.μn .tbd.S.sub.μ1μ2 . . . .sub.μn -γ.sub.1 z.sub.1μ2 . . . z.sub.1μn            (18)

in terms of which the incremental equation for the second order solution z₂ takes the form of Equation (15), with S, z₁ and γ₁ replaced by S, z₂ and γ₂, respectively. (Note that for polynomials of degree greater than 2, the z_(a) will not in general be orthogonal). However, these are only the incremental solutions: one still needs to solve the coupled equations where all {γ_(a),z_(a) } are allowed to vary simultaneously. Moreover, these equations will have multiple solutions, most of which will lead to local minima in ρ. Furthermore, other choices of K will lead to other fixed point equations. While solutions to Equation (15) could be found by iterating (i.e. by starting with arbitrary z, computing a new z using Equation (15), and repeating), the method described in the next Section proves more flexible and powerful.

Unconstrained Optimization Approach

Provided the kernel K has first derivatives defined, the gradients of the objective function F.tbd.ρ² /2 with respect to the unknowns {γ_(i), z_(i) } can be computed. For example, assuming that K(s_(m), s_(n)) is a function of the scalar s_(m) ·s_(n) : ##EQU11##

Therefore, and in accordance with the principles of the invention, a (possibly local) minimum can then be found using unconstrained optimization techniques.

The Algorithm

First, the desired order of approximation, N_(z), is chosen. Let X_(i) .tbd.{γ_(i), z_(i) }. A two-phase approach is used. In phase 1 (described below), the X_(i) are computed incrementally, keeping all z_(j), j<i, fixed.

In phase 2 (described below), all X_(i) are allowed to vary.

It should be noted that the gradient in Equation (20) is zero if γ_(k) is zero. This fact can lead to severe numerical instabilities. In order to circumvent this problem, phase 1 relies on a simple "level crossing" theorem. The algorithm is as follows. First, γ_(i) is initialized to +1 or -1; z_(i) is initialized with random values. z_(i) is then allowed to vary, while keeping γ_(i) fixed. The optimal value for γ_(i), given that z_(i), X_(j), j<i are fixed, is then computed analytically. F is then minimized with respect to both z_(i) and γ_(i) simultaneously. Finally, the optimal γ_(j) for all j≦i is computed analytically, and are given by Γ=Z⁻¹ Δ, where vectors Δ, Γ and Z are given by (see equation (19)):

    Γ.sub.j .tbd.γ.sub.j,                          (21) ##EQU12##

    Z.sub.jk .tbd.K(z.sub.j, z.sub.k).                         (23)

Since Z is positive definite and symmetric, it can be inverted efficiently using the well-known Choleski decomposition.

Thus, the first phase of the algorithm proceeds as follows:

[1] choose γ₁ '+1 or -1 randomly, set z₁ to a selection of random values;

[2] vary z₁ to minimize F;

[3] compute the γ₁, keeping z₁ fixed, that maximally further reduces F;

[4] allow z₁, γ₁ to vary together to further reduce F;

[5] repeat steps [1] through [4] T times keeping the best answer;

[6] fix z₁, γ₁, choose γ₂ =+1 or -1 randomly, set z₂ to a selection of random values;

[7] vary z₂ to minimize F;

[8] then fixing z₂ (and z₁, γ₁) compute the optimal γ₂ that maximally further reduces F;

[9] then let {z₂, γ₂ } vary together, to further reduce F;

[10] repeat steps [6] to [9] T times, keeping the best answer; and

[11] finally, fixing z₁, z₂, compute the optimal γ₁, γ₂ (as shown above in equations (21)-(23)) that further reduces F.

This procedure is then iterated with {z₃, γ₃ } and {z₄, γ₄ }, and so on up to {z_(N).sbsb.z, γ_(N).sbsb.z }.

Numerical instabilities are avoided by preventing γ_(i) from approaching zero. The above algorithm ensures this automatically: if the first step, in which z_(i) is varied while γ_(i) is kept fixed, results in a decrease in the objective function F, then when γ_(i) is subsequently allowed to vary, it cannot pass through zero, because doing so would require an increase in F (since the contribution of {z_(i), γ_(i) } to F would then be zero).

Note that each computation of a given {z_(i), γ_(i) } pair is repeated in phase 1 several (T) times, with different initial values for the X_(i). T is determined heuristically from the number M of different minima in F found. For the above-mentioned data sets, M was usually 2 or 3, and T was chosen as T=10.

In phase 2, all vectors X_(i) found in phase 1 are concatenated into a single vector, and the unconstrained minimization process then applied again, allowing all parameters to vary. It should be noted that phase 2 often results in roughly a factor of two further reduction in the objective function F.

In accordance with the principles of the inventions, the following first order unconstrained optimization method was used for both phases. The search direction is found using conjugate gradients. Bracketing points x₁, x₂ and x₃ are found along the search direction such that F(x₁)>F(x₂)<F(x₃). The bracket is then balanced (for balancing techniques, see, e.g., W. H. Press, S. A. Teukolsky, W. T. Vetterling and B. P. Flannery, Numerical Recipes in C, Second Edition, Cambridge University Press, 1992). The minimum of the quadratic fit through these three points is then used as the starting point for the next iteration. The conjugate gradient process is restarted after a fixed, chosen number of iterations, and the whole process stops when the rate of decrease of F falls below a threshold. It should be noted that this general approach gave the same results as the analytic approach when applied to the case of the quadratic polynomial kernel, described above.

Experiments

The above approach was applied to the SVM that gave the best performance on the postal set, which was a degree 3 inhomogeneous polynomial machine (for the latter see, e.g., The Nature of Statistical Learning Theory, cited above). The order of approximation, N_(z), was chosen to give a factor often speed up in test phase for each two-class classifier. The results are given in Table 2 (shown below). The reduced set method achieved the speed up with essentially no loss in accuracy. Using the ten classifiers together as a ten-class classifier (for the latter, see, e.g., The Nature of Statistical Learning Theory, and Support Vector Networks, cited above) gave 4.2% error using the full support set, as opposed to 4.3% using the reduced set. Note that for the combined case, the reduced set gives only a factor of six speed up, since different two class classifiers have some support vectors in common, allowing the possibility of caching. To address the question as to whether these techniques can be scaled up to larger problems, the study was repeated for a two-class classifier separating digit 0 from all other digits for the NIST set (60,000 training, 10,000 test patterns). This classifier was also chosen to be that which gave best accuracy using the full support set: a degree 4 polynomial. The full set of 1,273 support vectors gave 19 test errors, while a reduced set of size 127 gave 20 test errors.

                  TABLE 2                                                          ______________________________________                                                  Support Vectors  Reduced Set                                          Digit      N.sub.S E.sub.S    N.sub.Z                                                                             E.sub.Z                                     ______________________________________                                         0          272     13         27   13                                          1          109      9         11   10                                          2          380     26         38   26                                          3          418     20         42   20                                          4          392     34         39   32                                          5          397     21         40   22                                          6          257     11         26   11                                          7          214     14         21   13                                          8          463     26         46   28                                          9          387     13         39   13                                          Totals:    3289    187        329  188                                         ______________________________________                                          (Note that tests were also done on the full 10 digit NIST giving a factor      of 50 speedup with 10% loss of accuracy; see C. J. C. Burges, B. Schokopf      Improving the Accuracy and Speed of Support Vector Machines, in press,         NIPS '96.)                                                               

Illustrative Embodiment

Turning now to FIG. 3, an illustrative flow chart embodying the principles of the invention is shown for use in a training phase of an SVM. Input training data is applied to an SVM (not shown) in step 100. The SVM is trained on this input data in step 105 and generates a set of support vectors in step 110. A number of reduced set vectors is selected in step 135. In step 115, the unconstrained optimization approach (described above) is used to generate reduced set vectors in step 120. These reduced set vectors are used to test a set of sample data (not shown) in step 125. Results from this test are evaluated in step 130. If the test results are acceptable (e.g., as to speed and accuracy), then the reduced set vectors are available for subsequent use. If the test results are not acceptable, then the process of determining the reduced set vectors is performed again. (In this latter case, it should be noted that the test results (e.g., in terms of speed and/or accuracy) could suggest a further reduction in the number of reduced set vectors.)

Once the reduced set vectors have been determined, they are available for use in a SVM. A method for using these reduced set vectors in a testing phase is shown in FIG. 4. In step 215, input data vectors from a test set are applied to the SVM. In step 220, the SVM transforms the input data vectors of the testing set by mapping them into a multi-dimensional space using reduced set vectors as parameters in the Kernel. In step 225, the SVM generates a classification signal from the decision surface to indicate the membership status of each input data vector.

As noted above, a number, m, of reduced set vectors are in the reduced set. These reduced set vectors are determined in the above-mention training phase illustrated in FIG. 3. If the speed and accuracy data suggest that less than m reduced set vectors can be used, an alternative approach can be taken that obviates the need to recalculate a new, and smaller, set of reduced set vectors. In particular, a number of reduced set vectors, x, are selected from the set of m reduced set vectors, where x<m. In this case, the determination of how many reduced set vectors, x, to use is empirically determined, using, e.g., the speed and accuracy data generated in the training phase. However, there is no need to recalculate the values of these reduced set vectors.

An illustrative embodiment of the inventive concept is shown in FIG. 5 in the context of pattern recognition. Pattern recognition system 100 comprises processor 105 and recognizer 110, which further comprises data capture element 115, and SVM 120. Other than the inventive concept, the elements of FIG. 5 are well-known and will not be described in detail. For example, data input element 115 provides input data for classification to SVM 120. One example of data input element 115 is a scanner. In this context, the input data are pixel representations of an image (not shown). SVM 120 operates on the input data in accordance with the principles of the invention using reduced set vectors. During operation, or testing, SVM 120 provides a numerical result representing classification of the input data to processor 105 for subsequent processing. Processor 105 is representative of a stored-program-controlled processor such as a microprocessor with associated memory. Processor 105 additionally processes the output signals of recognizer 110, such as, e.g., in an automatic teller machine (ATM).

The system shown in FIG. 5 operates in two modes, a training mode and an operating (or test) mode. An illustration of the training mode is represented by the above-described method shown in FIG. 3. An illustration of the test mode is represented by the above-described method shown in FIG. 4.

The foregoing merely illustrates the principles of the invention and it will thus be appreciated that those skilled in the art will be able to devise numerous alternative arrangements which, although not explicitly described herein, embody the principles of the invention and are within its spirit and scope.

For example, the inventive concept is also applicable to kernel-based methods other than support vector machines, which can also be used for, but are not limited to, regression estimates, density estimation, etc. 

What is claimed is:
 1. A method for using a support vector machine, the method comprising the steps of:receiving input data signals; and using the support vector machine operable on the input data signals for providing an output signal, wherein the support vector machine utilizes reduced set vectors, wherein the reduced set vectors were a priori determined during a training phase using an unconstrained optimization approach other than an eigenvalue computation used for homogeneous quadratic kernels wherein the training phase further comprises the steps of: receiving elements of a training set; generating a set of support vectors, the number of support vectors being NS; selecting a number m of reduced set vectors, where m≦NS; and generating the number m of reduced set vectors using the unconstrained optimization approach.
 2. The method of claim 1 wherein the input data signals represent different patterns and the output signal represents a classification of the different patterns.
 3. A method for using a support vector machine, the method comprising the steps of:receiving input data signals; and using the support vector machine operable on the input data signals for providing an output signal, wherein the support vector machine utilizes reduced set vectors, wherein the reduced set vectors were a priori determined during a training phase using an unconstrained optimization approach other than an eigenvalue computation used for homogeneous quadratic kernels wherein the training phase further comprises the steps of: training the support vector machine for determining a number, NS, of support vectors; and using the unconstrained optimization technique to determine the reduced set vectors, where a number of reduced set vectors is m, where m≦NS. 